﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000F4B RID: 3915
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueMagicLevelInfoUpdateScNotify : IMessage<RogueMagicLevelInfoUpdateScNotify>, IMessage, IEquatable<RogueMagicLevelInfoUpdateScNotify>, IDeepCloneable<RogueMagicLevelInfoUpdateScNotify>, IBufferMessage
	{
		// Token: 0x170031BB RID: 12731
		// (get) Token: 0x0600AFA2 RID: 44962 RVA: 0x001DB3ED File Offset: 0x001D95ED
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueMagicLevelInfoUpdateScNotify> Parser
		{
			get
			{
				return RogueMagicLevelInfoUpdateScNotify._parser;
			}
		}

		// Token: 0x170031BC RID: 12732
		// (get) Token: 0x0600AFA3 RID: 44963 RVA: 0x001DB3F4 File Offset: 0x001D95F4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueMagicLevelInfoUpdateScNotifyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170031BD RID: 12733
		// (get) Token: 0x0600AFA4 RID: 44964 RVA: 0x001DB406 File Offset: 0x001D9606
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueMagicLevelInfoUpdateScNotify.Descriptor;
			}
		}

		// Token: 0x0600AFA5 RID: 44965 RVA: 0x001DB40D File Offset: 0x001D960D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLevelInfoUpdateScNotify()
		{
		}

		// Token: 0x0600AFA6 RID: 44966 RVA: 0x001DB420 File Offset: 0x001D9620
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLevelInfoUpdateScNotify(RogueMagicLevelInfoUpdateScNotify other) : this()
		{
			this.dECKAILMGEJ_ = other.dECKAILMGEJ_;
			this.extraRoundLimit_ = other.extraRoundLimit_;
			this.levelInfoList_ = other.levelInfoList_.Clone();
			this.status_ = other.status_;
			this.reason_ = other.reason_;
			this.curLevelIndex_ = other.curLevelIndex_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600AFA7 RID: 44967 RVA: 0x001DB491 File Offset: 0x001D9691
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLevelInfoUpdateScNotify Clone()
		{
			return new RogueMagicLevelInfoUpdateScNotify(this);
		}

		// Token: 0x170031BE RID: 12734
		// (get) Token: 0x0600AFA8 RID: 44968 RVA: 0x001DB499 File Offset: 0x001D9699
		// (set) Token: 0x0600AFA9 RID: 44969 RVA: 0x001DB4A1 File Offset: 0x001D96A1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint DECKAILMGEJ
		{
			get
			{
				return this.dECKAILMGEJ_;
			}
			set
			{
				this.dECKAILMGEJ_ = value;
			}
		}

		// Token: 0x170031BF RID: 12735
		// (get) Token: 0x0600AFAA RID: 44970 RVA: 0x001DB4AA File Offset: 0x001D96AA
		// (set) Token: 0x0600AFAB RID: 44971 RVA: 0x001DB4B2 File Offset: 0x001D96B2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ExtraRoundLimit
		{
			get
			{
				return this.extraRoundLimit_;
			}
			set
			{
				this.extraRoundLimit_ = value;
			}
		}

		// Token: 0x170031C0 RID: 12736
		// (get) Token: 0x0600AFAC RID: 44972 RVA: 0x001DB4BB File Offset: 0x001D96BB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueMagicLayerInfo> LevelInfoList
		{
			get
			{
				return this.levelInfoList_;
			}
		}

		// Token: 0x170031C1 RID: 12737
		// (get) Token: 0x0600AFAD RID: 44973 RVA: 0x001DB4C3 File Offset: 0x001D96C3
		// (set) Token: 0x0600AFAE RID: 44974 RVA: 0x001DB4CB File Offset: 0x001D96CB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicLevelStatus Status
		{
			get
			{
				return this.status_;
			}
			set
			{
				this.status_ = value;
			}
		}

		// Token: 0x170031C2 RID: 12738
		// (get) Token: 0x0600AFAF RID: 44975 RVA: 0x001DB4D4 File Offset: 0x001D96D4
		// (set) Token: 0x0600AFB0 RID: 44976 RVA: 0x001DB4DC File Offset: 0x001D96DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueMagicSettleReason Reason
		{
			get
			{
				return this.reason_;
			}
			set
			{
				this.reason_ = value;
			}
		}

		// Token: 0x170031C3 RID: 12739
		// (get) Token: 0x0600AFB1 RID: 44977 RVA: 0x001DB4E5 File Offset: 0x001D96E5
		// (set) Token: 0x0600AFB2 RID: 44978 RVA: 0x001DB4ED File Offset: 0x001D96ED
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint CurLevelIndex
		{
			get
			{
				return this.curLevelIndex_;
			}
			set
			{
				this.curLevelIndex_ = value;
			}
		}

		// Token: 0x0600AFB3 RID: 44979 RVA: 0x001DB4F6 File Offset: 0x001D96F6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueMagicLevelInfoUpdateScNotify);
		}

		// Token: 0x0600AFB4 RID: 44980 RVA: 0x001DB504 File Offset: 0x001D9704
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueMagicLevelInfoUpdateScNotify other)
		{
			return other != null && (other == this || (this.DECKAILMGEJ == other.DECKAILMGEJ && this.ExtraRoundLimit == other.ExtraRoundLimit && this.levelInfoList_.Equals(other.levelInfoList_) && this.Status == other.Status && this.Reason == other.Reason && this.CurLevelIndex == other.CurLevelIndex && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600AFB5 RID: 44981 RVA: 0x001DB594 File Offset: 0x001D9794
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.DECKAILMGEJ != 0U)
			{
				num ^= this.DECKAILMGEJ.GetHashCode();
			}
			if (this.ExtraRoundLimit != 0U)
			{
				num ^= this.ExtraRoundLimit.GetHashCode();
			}
			num ^= this.levelInfoList_.GetHashCode();
			if (this.Status != RogueMagicLevelStatus.None)
			{
				num ^= this.Status.GetHashCode();
			}
			if (this.Reason != RogueMagicSettleReason.None)
			{
				num ^= this.Reason.GetHashCode();
			}
			if (this.CurLevelIndex != 0U)
			{
				num ^= this.CurLevelIndex.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600AFB6 RID: 44982 RVA: 0x001DB651 File Offset: 0x001D9851
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600AFB7 RID: 44983 RVA: 0x001DB659 File Offset: 0x001D9859
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600AFB8 RID: 44984 RVA: 0x001DB664 File Offset: 0x001D9864
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.ExtraRoundLimit != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.ExtraRoundLimit);
			}
			if (this.Status != RogueMagicLevelStatus.None)
			{
				output.WriteRawTag(48);
				output.WriteEnum((int)this.Status);
			}
			this.levelInfoList_.WriteTo(ref output, RogueMagicLevelInfoUpdateScNotify._repeated_levelInfoList_codec);
			if (this.Reason != RogueMagicSettleReason.None)
			{
				output.WriteRawTag(72);
				output.WriteEnum((int)this.Reason);
			}
			if (this.CurLevelIndex != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.CurLevelIndex);
			}
			if (this.DECKAILMGEJ != 0U)
			{
				output.WriteRawTag(120);
				output.WriteUInt32(this.DECKAILMGEJ);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600AFB9 RID: 44985 RVA: 0x001DB724 File Offset: 0x001D9924
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.DECKAILMGEJ != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.DECKAILMGEJ);
			}
			if (this.ExtraRoundLimit != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ExtraRoundLimit);
			}
			num += this.levelInfoList_.CalculateSize(RogueMagicLevelInfoUpdateScNotify._repeated_levelInfoList_codec);
			if (this.Status != RogueMagicLevelStatus.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Status);
			}
			if (this.Reason != RogueMagicSettleReason.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.Reason);
			}
			if (this.CurLevelIndex != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.CurLevelIndex);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600AFBA RID: 44986 RVA: 0x001DB7D8 File Offset: 0x001D99D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueMagicLevelInfoUpdateScNotify other)
		{
			if (other == null)
			{
				return;
			}
			if (other.DECKAILMGEJ != 0U)
			{
				this.DECKAILMGEJ = other.DECKAILMGEJ;
			}
			if (other.ExtraRoundLimit != 0U)
			{
				this.ExtraRoundLimit = other.ExtraRoundLimit;
			}
			this.levelInfoList_.Add(other.levelInfoList_);
			if (other.Status != RogueMagicLevelStatus.None)
			{
				this.Status = other.Status;
			}
			if (other.Reason != RogueMagicSettleReason.None)
			{
				this.Reason = other.Reason;
			}
			if (other.CurLevelIndex != 0U)
			{
				this.CurLevelIndex = other.CurLevelIndex;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600AFBB RID: 44987 RVA: 0x001DB875 File Offset: 0x001D9A75
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600AFBC RID: 44988 RVA: 0x001DB880 File Offset: 0x001D9A80
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 58U)
				{
					if (num == 8U)
					{
						this.ExtraRoundLimit = input.ReadUInt32();
						continue;
					}
					if (num == 48U)
					{
						this.Status = (RogueMagicLevelStatus)input.ReadEnum();
						continue;
					}
					if (num == 58U)
					{
						this.levelInfoList_.AddEntriesFrom(ref input, RogueMagicLevelInfoUpdateScNotify._repeated_levelInfoList_codec);
						continue;
					}
				}
				else
				{
					if (num == 72U)
					{
						this.Reason = (RogueMagicSettleReason)input.ReadEnum();
						continue;
					}
					if (num == 112U)
					{
						this.CurLevelIndex = input.ReadUInt32();
						continue;
					}
					if (num == 120U)
					{
						this.DECKAILMGEJ = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04004731 RID: 18225
		private static readonly MessageParser<RogueMagicLevelInfoUpdateScNotify> _parser = new MessageParser<RogueMagicLevelInfoUpdateScNotify>(() => new RogueMagicLevelInfoUpdateScNotify());

		// Token: 0x04004732 RID: 18226
		private UnknownFieldSet _unknownFields;

		// Token: 0x04004733 RID: 18227
		public const int DECKAILMGEJFieldNumber = 15;

		// Token: 0x04004734 RID: 18228
		private uint dECKAILMGEJ_;

		// Token: 0x04004735 RID: 18229
		public const int ExtraRoundLimitFieldNumber = 1;

		// Token: 0x04004736 RID: 18230
		private uint extraRoundLimit_;

		// Token: 0x04004737 RID: 18231
		public const int LevelInfoListFieldNumber = 7;

		// Token: 0x04004738 RID: 18232
		private static readonly FieldCodec<RogueMagicLayerInfo> _repeated_levelInfoList_codec = FieldCodec.ForMessage<RogueMagicLayerInfo>(58U, RogueMagicLayerInfo.Parser);

		// Token: 0x04004739 RID: 18233
		private readonly RepeatedField<RogueMagicLayerInfo> levelInfoList_ = new RepeatedField<RogueMagicLayerInfo>();

		// Token: 0x0400473A RID: 18234
		public const int StatusFieldNumber = 6;

		// Token: 0x0400473B RID: 18235
		private RogueMagicLevelStatus status_;

		// Token: 0x0400473C RID: 18236
		public const int ReasonFieldNumber = 9;

		// Token: 0x0400473D RID: 18237
		private RogueMagicSettleReason reason_;

		// Token: 0x0400473E RID: 18238
		public const int CurLevelIndexFieldNumber = 14;

		// Token: 0x0400473F RID: 18239
		private uint curLevelIndex_;
	}
}
